Many computer operating systems generate window-based graphical user interfaces (GUIs). The operating systems generally provide tools to allow developers to generate windows with controls called dialogues. Operating systems may provide other kinds of user interface elements such as forms as well. With different sized monitors and different resolutions for displays, users generally want to display as much information as possible. Since windows are typically defined for the smallest standard screen size and resolution, users with larger screens typically have displays that still have space available. Smaller displays, such as displays on mobile devices are limited in the amount of information they may display. For these devices, it would be useful to display as much information as possible while retaining usability.
A window can be defined by developers such that it can be resized and its contents redistributed to take advantage of the new size. A developer typically uses a resource editor to define the layout and characteristics of the window. A resulting resource file contains detailed specifications that define the controls and which parts of the box can be resized and along which axes. The use of resource files allows for changes to be made to the arrangement and content of windows and their controls without the need to modify the application code that displays the controls. The controls corresponding to the labels of the window can be changed by simply modifying the resource file for the particular window. The application can then be re-built without recompiling and, when subsequently executed, the operating system opens the resource file and generates the window. The process of generating the window may involve reading the resource file and generating a derivative memory image that is used to create the window rather than stepping through the resource file in real time as the window is actually generated.
The need to specifically define the resizing characteristics of the window arises because only some controls can be expanded or decreased in a useful way. For example, expanding the window to increase the size of each feature, including fonts, would not allow more information to be displayed. Operating systems generally provide mechanisms for defining resizable windows, but the code is complex and most developers would prefer the expedient of avoiding the complexity of such expense. Developers may also already have a large number of windows that are already defined. To modify these to make them resizable requires a substantial amount of additional work. Also, any time the windows are revised to add new controls, the whole set of resizing code must revised to be compatible with the new controls.
Many applications already allow users to change the font size of the view of a document. The standard font sizes of the operating system user interface can also be changed. But this may not enhance the windows or controls as desired.